/**
 * 高阶函数
 * @param a
 * @param b
 * @param c
 */
// function demo(a,b,c) {
//   console.log('核心逻辑',a,b)
// }
//
// Function.prototype.before=function (beforeFn) {
//   return (...args)=>{
//     beforeFn()
//     this(...args)
//   }
// }
//
// let newFn=demo.before(()=>{
//   console.log('before fn')
// })
//
//  newFn(1,3,2)


/**
 * 函数柯里化
 */
// function isType(type) {
//   return function (val) {
//      return  Object.prototype.toString.call(val)===`[object ${type}]`
//   }
// }
//
// let isstring=isType('String')
// console.log(isstring('ccc'))
//

// var fs=require('fs')
// function getdata(callback) {
//   fs.readFile('./name.txt','utf8',function (err,data) {
//     callback(data)
//   })
// }
//
// getdata(function (result) {
//   console.log(result)
// })

// var fs=require('fs');
// function getMime(callback){
//   fs.readFile('./name.txt','utf8',function(err,data){
//     callback(data);
//   })
// }
// getMime(function(result){
//   console.log(result);
// })

function demo() {
  var a=1
  {
    var a=2
  }
  console.log(a)
}
demo()
